From 37d433d464dcf538850f6236c3e7974963f73e70 Mon Sep 17 00:00:00 2001 From: "vh249@arcadians.cl.cam.ac.uk" Date: Thu, 14 Apr 2005 17:40:44 +0000 Subject: [PATCH] bitkeeper revision 1.1295 (425eab1cIikVxIVyd1yoZpti7rBCLA) fix return with the lock held Signed-off-by: Reiner Sailer Signed-off-by: Vincent Hanquez --- xen/common/grant_table.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c index c12439a524..11258a4888 100644 --- a/xen/common/grant_table.c +++ b/xen/common/grant_table.c @@ -804,18 +804,19 @@ do_grant_table_op( LOCK_BIGLOCK(current->domain); + rc = -EFAULT; switch ( cmd ) { case GNTTABOP_map_grant_ref: if ( unlikely(!array_access_ok( VERIFY_WRITE, uop, count, sizeof(gnttab_map_grant_ref_t))) ) - return -EFAULT; + goto out; rc = gnttab_map_grant_ref((gnttab_map_grant_ref_t *)uop, count); break; case GNTTABOP_unmap_grant_ref: if ( unlikely(!array_access_ok( VERIFY_WRITE, uop, count, sizeof(gnttab_unmap_grant_ref_t))) ) - return -EFAULT; + goto out; rc = gnttab_unmap_grant_ref((gnttab_unmap_grant_ref_t *)uop, count); break; case GNTTABOP_setup_table: @@ -831,6 +832,7 @@ do_grant_table_op( break; } +out: UNLOCK_BIGLOCK(current->domain); return rc; -- 2.30.2